//
//  YKStatues.h
//  youkan
//
//  Created by mac mini on 16/2/29.
//  Copyright © 2016年 Honsintech. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "MJExtension.h"
//#import "YKUser.h"
@class YKUser;
//    认证方式
typedef NS_ENUM(NSUInteger, WBUserVerifyType) {
    WBUserVerifyTypeNone = 0,           //!> 没有认证
    WBUserVerifyTypeStandard,           //!> 个人认证，黄V
    WBUserVerifyTypeOrganization,       //!> 官方认证，蓝V
    WBUserVerifyTypeClub,               //!> 达人认证， 红星
};
//    图片标记
typedef NS_ENUM(NSUInteger, WBPictureBadgeType) {
    WBPictureBadgeTypeNone = 0,     //!> 正常图片
    WBPictureBadgeTypeLong,         //!> 长图
    WBPictureBadgeTypeGIF,          //!> GIF
};

/*返回值字段	字段类型	字段说明
 created_at	string	微博创建时间
 idstr	 string	字符串型的微博ID
 text	string	微博信息内容
 source	string	微博来源
 thumbnail_pic	string	缩略图片地址，没有时不返回此字段
 bmiddle_pic	string	中等尺寸图片地址，没有时不返回此字段
 original_pic	string	原始图片地址，没有时不返回此字段
 user	object	微博作者的用户信息字段 详细
 retweeted_status	object	被转发的原微博信息字段，当该微博为转发微博时返回 详细
 reposts_count	int	转发数
 comments_count	int	评论数
 attitudes_count int	表态数
 pic_urls 配图数组
*/
/** 微博标题 */
@interface YKStatusTitle : NSObject
/** <#注释#> */
@property (nonatomic,assign) int32_t baseColor;
/** 文本，例如“仅自己可见” */
@property (nonatomic ,strong) NSString *text;
/** 图标URL，需要加default */
@property (nonatomic ,strong) NSString *iconURL;

@end

/**
 按钮
 */
@interface WBButtonLink : NSObject
@property (nonatomic, strong) NSURL *pic;  ///< 按钮图片URL (需要加_default)
@property (nonatomic, strong) NSString *name; ///< 按钮文本，例如"点评"
@property (nonatomic, strong) NSString *type;
@property (nonatomic, strong) NSDictionary *params;
@end

/**
 卡片 (样式有多种，最常见的是下方这样)
 -----------------------------
 title
 pic     title        button
 tips
 -----------------------------
 */
@interface WBPageInfo : NSObject
@property (nonatomic, strong) NSString *pageTitle; ///< 页面标题，例如"上海·上海文庙"
@property (nonatomic, strong) NSString *pageID;
@property (nonatomic, strong) NSString *pageDesc; ///< 页面描述，例如"上海市黄浦区文庙路215号"
@property (nonatomic, strong) NSString *content1;
@property (nonatomic, strong) NSString *content2;
@property (nonatomic, strong) NSString *content3;
@property (nonatomic, strong) NSString *content4;
@property (nonatomic, strong) NSString *tips; ///< 提示，例如"4222条微博"
@property (nonatomic, strong) NSString *objectType; ///< 类型，例如"place" "video"
@property (nonatomic, strong) NSString *objectID;
@property (nonatomic, strong) NSString *scheme; ///< 真实链接，例如 http://v.qq.com/xxx
@property (nonatomic, strong) NSArray<WBButtonLink *> *buttons;

@property (nonatomic, assign) int32_t isAsyn;
@property (nonatomic, assign) int32_t type;
@property (nonatomic, strong) NSString *pageURL; ///< 链接 sinaweibo://...
@property (nonatomic, strong) NSURL *pagePic; ///< 图片URL，不需要加(_default) 通常是左侧的方形图片
@property (nonatomic, strong) NSURL *typeIcon; ///< Badge 图片URL，不需要加(_default) 通常放在最左上角角落里
@property (nonatomic, assign) int32_t actStatus;
@property (nonatomic, strong) NSDictionary *actionlog;
@property (nonatomic, strong) NSDictionary *mediaInfo;
@end

@interface YKWBStatues : NSObject<MJKeyValue>
/**
 *      转发的微博
 */
@property(nonatomic,strong) YKWBStatues * retweeted_status;
@property(nonatomic,copy) NSString *retweetName;

/**
 *      微博创建时间
 */
@property (nonatomic,copy)NSString *created_at;
/**
 *      字符串型的微博ID
 */
@property (nonatomic,copy)NSString *idstr	;
/**
 *      微博信息内容
 */
@property (nonatomic,copy)NSString *text;
/**
 *      微博来源
 */
@property (nonatomic,copy)NSString *source;
/*
 *      转发数
 */
@property (nonatomic,assign)int reposts_count;
/*
 *      评论数
 */
@property (nonatomic,assign)int  attitudes_count;
/**
 *      表态数
 */
@property (nonatomic,assign)int  comments_count;
/**
 *  配图组数
 */
@property (nonatomic,strong)NSArray   *pic_urls;
/**
 *      用户
 */
@property (nonatomic,strong)YKUser *user;
@property (nonatomic, strong) NSString *picBg; ///< 微博VIP背景图，需要替换 "os7"
/** 标题栏（通常为nil） */
@property (nonatomic ,strong) YKStatusTitle *title;
@property (nonatomic, assign) int32_t sourceAllowClick; ///< 来源是否允许点击

@end

@class WBEmoticonGroup ;
typedef NS_ENUM(NSUInteger, WBEmoticonType) {
    WBEmoticonTypeImage = 0, //!> 图片表情
    WBEmoticonTypeEmoji = 1, //!> Emoji表情
};
@interface WBEmoticon : NSObject
/** <#注释#> */
@property (nonatomic ,strong) NSString *chs;
@property (nonatomic ,strong) NSString *cht;
@property (nonatomic ,strong) NSString *gif;
@property (nonatomic ,strong) NSString *png;
@property (nonatomic ,strong) NSString *code;
/** <#注释#> */
@property (nonatomic,assign) WBEmoticonType type;
/** <#注释#> */
@property (nonatomic ,weak) WBEmoticonGroup *group;
@end

@interface WBEmoticonGroup : NSObject
/** <#注释#> */
@property (nonatomic ,strong) NSString *groupID;
@property (nonatomic ,strong) NSString *nameCN;
@property (nonatomic ,strong) NSString *nameEN;
@property (nonatomic ,strong) NSString *nameTW;
/** <#注释#> */
@property (nonatomic,assign) NSInteger version;
@property (nonatomic,assign) NSInteger displayOnly;
@property (nonatomic,assign) NSInteger groupType;
/** <#注释#> */
@property (nonatomic ,strong) NSArray<WBEmoticon *> *emoticons;
@end

/**
 一个图片元数据
 */
@interface WBPictureMetadata : NSObject
/** 完整的url */
@property (nonatomic ,strong)NSURL *url;
/** 像素宽度 */
@property (nonatomic,assign)int  width;
/** 像素高度 */
@property (nonatomic,assign)int  height;
/** 图片类型 */
@property (nonatomic ,strong)NSString *type;
/** 切图 默认：1 */
@property (nonatomic,assign)int cutTpye;
/** 图片徽章类型 */
@property (nonatomic,assign)WBPictureBadgeType badgeType;

@end
/**
 图片
 */
@interface WBPicture : NSObject
@property (nonatomic, strong) NSString *picID;
@property (nonatomic, strong) NSString *objectID;
@property (nonatomic, assign) int photoTag;
@property (nonatomic, assign) BOOL keepSize; ///< YES:固定为方形 NO:原始宽高比
@property (nonatomic, strong) WBPictureMetadata *thumbnail;  ///< w:180
@property (nonatomic, strong) WBPictureMetadata *bmiddle;    ///< w:360 (列表中的缩略图)
@property (nonatomic, strong) WBPictureMetadata *middlePlus; ///< w:480
@property (nonatomic, strong) WBPictureMetadata *large;      ///< w:720 (放大查看)
@property (nonatomic, strong) WBPictureMetadata *largest;    ///<       (查看原图)
@property (nonatomic, strong) WBPictureMetadata *original;   ///<
@property (nonatomic, assign) WBPictureBadgeType badgeType;
@end

